Alex Crichton [Fri, 24 Jul 2015 18:49:19 +0000 (11:49 -0700)]
Pass --cap-lints=allow instead of -Awarnings
This commit adds support to Cargo to pass `--cap-lints allow` to all upstream
dependencies instead of `-A warings`. This should serve the same purpose of
suppressing warnings in upstream dependencies as well as preventing widespread
breakage whenever a change to a lint is introduced in the compiler.
bors [Fri, 24 Jul 2015 17:02:37 +0000 (17:02 +0000)]
Auto merge of #1829 - steveklabnik:doc_quickfix, r=alexcrichton
Steve Klabnik [Fri, 24 Jul 2015 16:47:18 +0000 (12:47 -0400)]
remove missing import from build script docs
bors [Thu, 23 Jul 2015 06:16:34 +0000 (06:16 +0000)]
Auto merge of #1825 - alexcrichton:msvc-32, r=brson
These commits provide the necessary support to get cargo working in the 32-bit MSVC context. Now that we've got 32-bit MSVC nightlies rolling we can add support!
Alex Crichton [Wed, 22 Jul 2015 22:08:07 +0000 (15:08 -0700)]
Disable cross tests on appveyor for now
Alex Crichton [Wed, 22 Jul 2015 21:42:37 +0000 (14:42 -0700)]
Test 32/64 cross builds on MSVC
This commit enables Cargo's bots to test cross builds between 32 and 64 bit
hosts. Many tests were fixed to work on Windows, and the 32-bit test case now
actually crosses to 64.
Alex Crichton [Wed, 22 Jul 2015 21:38:35 +0000 (14:38 -0700)]
Remove MSVC logic from the configure script
Cargo will soon support testing the cross compilation capabilities between 32/64
bit Windows, meaning that there's not "one true value" for any of these
environment variables that Cargo is setting (e.g. where to find `cl`, `link`,
etc). Instead, all dependencies have been updated to probe the system (in the
same manner as the compiler) for the tools that they're using.
All of the logic is housed in the `gcc` crate which now exposes a function to
probe the system for a particular tool. The updated crates here then use the
result of this probe to run the various build scripts. This all boils down to
being able to build MSVC targets inside an MSYS shell instead of requiring use
of a MSVC shell (which doesn't allow for simultaneous host builds and cross
builds).
Alex Crichton [Wed, 22 Jul 2015 21:36:47 +0000 (14:36 -0700)]
Update the nightly of Rust to build Cargo
Alex Crichton [Wed, 22 Jul 2015 21:36:19 +0000 (14:36 -0700)]
etc: Remove an unused variable binding
Alex Crichton [Wed, 22 Jul 2015 21:35:47 +0000 (14:35 -0700)]
etc: Don't modify the installation manifest
We're not actually using it as we're not running the installation script, so no
need to modify it.
Alex Crichton [Wed, 22 Jul 2015 21:35:06 +0000 (14:35 -0700)]
etc: Fix merging distributions on Windows
The rustlib folder is in `bin` on Windows, not in `lib`.
Alex Crichton [Wed, 22 Jul 2015 21:33:52 +0000 (14:33 -0700)]
etc: Use Popen instead of call to spawn processes
I saw the usage of `call` locking up quite a bit when running this script on
Windows, and googling around on the internet seems to indicate that Popen should
be used instead of call to prevent this locking up, and it does indeed work!
Alex Crichton [Wed, 22 Jul 2015 21:33:21 +0000 (14:33 -0700)]
Use the download module for printing snapshots
The script that prints new snapshots for Cargo now uses the same download module
as the rest of Cargo. Also adds a quiet option to suppress printing.
bors [Tue, 21 Jul 2015 17:36:53 +0000 (17:36 +0000)]
Auto merge of #1822 - alexcrichton:fix-recursion, r=brson
It looks like the empty string is leaking in as a feature to all crates being
published on crates.io unintentionally. This means that each dependency edge
activates the feature `""`. This in turn confuses the resolution process quite a
bit, causing it to be far more recursive than it should be.
The empty feature, `""`, is weeded out during activation of features but it's
never explicitly activated. This means that each new dependency we see has one
requested feature (the empty one) with no activated features (as it doesn't have
any). This ends up causing us to recurse to attempt to reactivate the
dependency. This extreme recursion ended up blowing the stack on some smaller
crates and this commit fixes that.
Alex Crichton [Tue, 21 Jul 2015 17:16:15 +0000 (10:16 -0700)]
Weed out empty features from the registry
It looks like the empty string is leaking in as a feature to all crates being
published on crates.io unintentionally. This means that each dependency edge
activates the feature `""`. This in turn confuses the resolution process quite a
bit, causing it to be far more recursive than it should be.
The empty feature, `""`, is weeded out during activation of features but it's
never explicitly activated. This means that each new dependency we see has one
requested feature (the empty one) with no activated features (as it doesn't have
any). This ends up causing us to recurse to attempt to reactivate the
dependency. This extreme recursion ended up blowing the stack on some smaller
crates and this commit fixes that.
Alex Crichton [Tue, 21 Jul 2015 17:16:05 +0000 (10:16 -0700)]
Touch up some stylistic nits in the resolver
bors [Mon, 20 Jul 2015 23:05:33 +0000 (23:05 +0000)]
Auto merge of #1819 - alexcrichton:fix-no-pkg-config, r=alexcrichton
Contains a fix for building on systems where pkg-config isn't installed.
Closes #1727
Alex Crichton [Mon, 20 Jul 2015 23:03:18 +0000 (16:03 -0700)]
Update libgit2-sys
Contains a fix for building on systems where pkg-config isn't installed.
Closes #1727
bors [Mon, 20 Jul 2015 04:44:34 +0000 (04:44 +0000)]
Auto merge of #1814 - gentoo90:no-git-build, r=alexcrichton
When built from archive, downloaded from https://github.com/rust-lang/cargo/releases
version info looks like this: `cargo 0.3.0 ( ) (built 2015-05-16)`.
Patch will make it look like this: `cargo 0.3.0 (built 2015-05-16)`
gentoo90 [Sat, 18 Jul 2015 13:36:44 +0000 (16:36 +0300)]
Fix version info when built without git repo
bors [Fri, 17 Jul 2015 20:26:42 +0000 (20:26 +0000)]
Auto merge of #1804 - alexcrichton:aggressively-backtrack, r=brson
Resolving a dependency graph may involve quite a bit of backtracking to select
different versions of crates, but the previous implementation of resolution
would not backtrack enough.
Once a dependency is completely resolved it's possible that any number of
candidates for its transitive dependencies were left out of the resolution
process (e.g. we didn't hit them yet). These candidates were not previously used
for backtracking (because resolution overall of the dependency finished), but
this commit alters the implementation to instead consider these as candidates
for backtracking.
Architecturally this changes the code to CPS to pass around a `finished`
continuation to allow tweaking the behavior whenever a dependency successfully
resolves. The key change is then that whenever a candidate for a dependency is
activated, we ensure the recursive step for the rest of the graph happens as a
sub-call. This means that if *anything* in the recursive call fails (including
some previous up-the-stack resolution) we'll retry the next candidate.
Closes #1800
Alex Crichton [Fri, 17 Jul 2015 19:56:00 +0000 (12:56 -0700)]
Run travis against stable/beta/nightly
Alex Crichton [Mon, 13 Jul 2015 19:14:05 +0000 (12:14 -0700)]
Backtrack more aggressively when resolving
Resolving a dependency graph may involve quite a bit of backtracking to select
different versions of crates, but the previous implementation of resolution
would not backtrack enough.
Once a dependency is completely resolved it's possible that any number of
candidates for its transitive dependencies were left out of the resolution
process (e.g. we didn't hit them yet). These candidates were not previously used
for backtracking (because resolution overall of the dependency finished), but
this commit alters the implementation to instead consider these as candidates
for backtracking.
Architecturally this changes the code to CPS to pass around a `finished`
continuation to allow tweaking the behavior whenever a dependency successfully
resolves. The key change is then that whenever a candidate for a dependency is
activated, we ensure the recursive step for the rest of the graph happens as a
sub-call. This means that if *anything* in the recursive call fails (including
some previous up-the-stack resolution) we'll retry the next candidate.
Closes #1800
Alex Crichton [Tue, 14 Jul 2015 00:32:07 +0000 (17:32 -0700)]
Update Rust nightly
Looks like the new LLVM version has optimizations which help out a good deal
with the recursion faced in the resolver, so let's use that version instead!
Alex Crichton [Mon, 13 Jul 2015 19:13:37 +0000 (12:13 -0700)]
Fix running `cargo test` from the project root
Previously the `cit` folder was placed in the root directory but this adds logic
to ensure it stays within the `target` subdirectory.
bors [Fri, 17 Jul 2015 17:23:19 +0000 (17:23 +0000)]
Auto merge of #1812 - alexcrichton:moar-filtering, r=huonw
Development dependencies are traversed during the resolution process, causing
them to be returned as the list of dependencies for a package in terms of
resolution. The compilation phase would then filter these out depending on the
dependency's transitivity, but this was incorrectly accounted for when the
dependency showed up multiple times in a few lists.
This commit fixes this behavior by updating the filtering logic to ensure that
only activated optional dependencies (those whose feature names are listed) are
compiled.
Closes #1805
Alex Crichton [Fri, 17 Jul 2015 17:05:57 +0000 (10:05 -0700)]
Only compile activated optional dependencies
Development dependencies are traversed during the resolution process, causing
them to be returned as the list of dependencies for a package in terms of
resolution. The compilation phase would then filter these out depending on the
dependency's transitivity, but this was incorrectly accounted for when the
dependency showed up multiple times in a few lists.
This commit fixes this behavior by updating the filtering logic to ensure that
only activated optional dependencies (those whose feature names are listed) are
compiled.
Closes #1805
Alex Crichton [Fri, 17 Jul 2015 17:05:17 +0000 (10:05 -0700)]
Remove an unnecessary HashMap when Vec works
Dependencies aren't necessarily unique per name as the same dependency can show
up multiple times in various dependency kind lists, so it's not quite right to
use a hash map anyway.
bors [Fri, 17 Jul 2015 05:53:58 +0000 (05:53 +0000)]
Auto merge of #1808 - Gankro:msg, r=alexcrichton
bors [Fri, 17 Jul 2015 05:36:21 +0000 (05:36 +0000)]
Auto merge of #1810 - alexcrichton:update-rust-installer, r=alexcrichton
Closes #1798
Alex Crichton [Thu, 16 Jul 2015 20:19:39 +0000 (13:19 -0700)]
Update rust-installer submodule
Closes #1798
Alexis Beingessner [Wed, 15 Jul 2015 22:27:53 +0000 (15:27 -0700)]
fix error message copy-paste error
bors [Mon, 13 Jul 2015 16:47:21 +0000 (16:47 +0000)]
Auto merge of #1803 - tafia:patch-1, r=alexcrichton
This is a very tiny optimization ...
An unnecessary clone was done because of matching on a tuple.
Checking items separately avoids it entirely.
Johann Tuffe [Mon, 13 Jul 2015 05:23:33 +0000 (13:23 +0800)]
avoid an unnecessary clone in without_prefix
This is a very tiny optimization ...
An unnecessary clone was done because of matching on a tuple.
Checking items separately avoids it entirely.
bors [Wed, 8 Jul 2015 17:35:42 +0000 (17:35 +0000)]
Auto merge of #1792 - steveklabnik:gh26482, r=alexcrichton
In addition, clean up these docs a little.
Addresses part of rust-lang/rust#26482
Steve Klabnik [Wed, 8 Jul 2015 17:16:56 +0000 (13:16 -0400)]
Dont refer to NPM for semver
In addition, clean up these docs a little.
Addresses part of rust-lang/rust#26482
bors [Tue, 7 Jul 2015 22:17:05 +0000 (22:17 +0000)]
Auto merge of #1788 - alexcrichton:appveyor, r=brson
This commit aims to have the end goal of adding AppVeyor CI support to this
repo, and along the way it ended up meaning that the dependency installation
bits were rewritten in Python. This has a number of benefits:
* Python is more portable than shell
* Python is more readable than shell
* curl is no longer required on Windows (powershell is used for downloads)
There are also a few minor updates made as part of this commit as well:
* The README has been updated in how to build Cargo
* We now use `sudo: false` on Travis for faster builds. This is done by
specifying packages to install instead of installing them ourselves.
* pkg-config is no longer listed as a required program
Alex Crichton [Tue, 7 Jul 2015 20:55:36 +0000 (13:55 -0700)]
Rewrite dependency installation in Python
This commit aims to have the end goal of adding AppVeyor CI support to this
repo, and along the way it ended up meaning that the dependency installation
bits were rewritten in Python. This has a number of benefits:
* Python is more portable than shell
* Python is more readable than shell
* curl is no longer required on Windows (powershell is used for downloads)
There are also a few minor updates made as part of this commit as well:
* The README has been updated in how to build Cargo
* We now use `sudo: false` on Travis for faster builds. This is done by
specifying packages to install instead of installing them ourselves.
* pkg-config is no longer listed as a required program
bors [Tue, 7 Jul 2015 16:20:43 +0000 (16:20 +0000)]
Auto merge of #1780 - seth:sf/nested-projects-fix, r=alexcrichton
This is a fix for #1779
Seth Falcon [Tue, 7 Jul 2015 01:40:36 +0000 (18:40 -0700)]
Use info! instead of warn! for skipping message
bors [Tue, 7 Jul 2015 01:36:44 +0000 (01:36 +0000)]
Auto merge of #1776 - alexcrichton:no-entry-found-for-key-again, r=brson
Previously a Target was not considered to be in the key of the map to build
script dependencies, but this meant that information like whether it was a
dev-dependency was lost. As a result libraries would depend on the build scripts
of their dev-dependencies, causing an internal error when the build script
hadn't finished yet when the library was being built.
Closes #1751
bors [Tue, 7 Jul 2015 00:04:27 +0000 (00:04 +0000)]
Auto merge of #1786 - eminence:docs, r=alexcrichton
See also https://github.com/rust-lang/cargo/issues/1614
Andrew Chin [Mon, 6 Jul 2015 18:58:13 +0000 (14:58 -0400)]
Updated guide.md with local config clarification
See also https://github.com/rust-lang/cargo/issues/1614
bors [Mon, 6 Jul 2015 17:07:59 +0000 (17:07 +0000)]
Auto merge of #1782 - Dineshs91:uninstall, r=alexcrichton
Fixes #1068.
Seth Falcon [Sun, 5 Jul 2015 18:34:43 +0000 (11:34 -0700)]
Add test for ignoring nested self packages
Seth Falcon [Sun, 5 Jul 2015 18:33:57 +0000 (11:33 -0700)]
Remove readme note for libgit2
Indeed this seems to be handled by the build automatically.
dinesh [Sun, 5 Jul 2015 17:34:37 +0000 (23:04 +0530)]
Add make uninstall to .travis.yml
bors [Sun, 5 Jul 2015 18:01:28 +0000 (18:01 +0000)]
Auto merge of #1785 - kennytm:patch-1, r=alexcrichton
kennytm [Sun, 5 Jul 2015 17:57:05 +0000 (01:57 +0800)]
Fix minor typo in `cargo rustc --help`.
dinesh [Sun, 5 Jul 2015 17:31:23 +0000 (23:01 +0530)]
Pass prefix and destdir
bors [Sun, 5 Jul 2015 16:53:33 +0000 (16:53 +0000)]
Auto merge of #1783 - c4rlo:run-typos, r=alexcrichton
c4rlo [Sun, 5 Jul 2015 10:23:36 +0000 (11:23 +0100)]
cargo run: fix typos in help text
dinesh [Sat, 4 Jul 2015 08:17:28 +0000 (13:47 +0530)]
Add uninstall target
Seth Falcon [Fri, 3 Jul 2015 22:36:25 +0000 (15:36 -0700)]
Disallow nesting of packages with same packge_id
If a package contains a subdirectory that contains a copy of
itself (strange, but encountered in the wild in the context of an OS
package build tool), cargo was failing with a non-descriptive "An
unknown error occurred" (or "no package found in source" with
--verbose).
Since nested packages use the root path, such a package will have an
identical package_id to the root package. With this patch, we keep the
first occurance of a given package_id rather than overwritting --
effectively ignoring the nested package with duplicated name. A warn!
message is printed.
Seth Falcon [Fri, 3 Jul 2015 22:35:33 +0000 (15:35 -0700)]
Add libgit2 to list of build deps in README
bors [Fri, 3 Jul 2015 18:50:01 +0000 (18:50 +0000)]
Auto merge of #1778 - steveklabnik:fix_css, r=alexcrichton
https://twitter.com/steveklabnik/status/
617031020429373440
Steve Klabnik [Fri, 3 Jul 2015 18:18:46 +0000 (14:18 -0400)]
Fix double scrollbar issue
https://twitter.com/steveklabnik/status/
617031020429373440
bors [Fri, 3 Jul 2015 00:20:26 +0000 (00:20 +0000)]
Auto merge of #1762 - Dineshs91:manifest, r=alexcrichton
Fixes #1580. I am a bit skeptical with the use of unwrap( ) though. Suggestion's on how to replace that would be great.
r? @alexcrichton
dinesh [Thu, 2 Jul 2015 16:57:29 +0000 (22:27 +0530)]
Check for empty target names
dinesh [Tue, 30 Jun 2015 19:44:46 +0000 (01:14 +0530)]
Add tests for all targets without names
dinesh [Tue, 30 Jun 2015 19:43:15 +0000 (01:13 +0530)]
Create a method called name on TomlTarget
dinesh [Sun, 21 Jun 2015 10:34:42 +0000 (16:04 +0530)]
Make lib name optional
Alex Crichton [Wed, 1 Jul 2015 17:37:21 +0000 (10:37 -0700)]
Add a Target to the build script deps key
Previously a Target was not considered to be in the key of the map to build
script dependencies, but this meant that information like whether it was a
dev-dependency was lost. As a result libraries would depend on the build scripts
of their dev-dependencies, causing an internal error when the build script
hadn't finished yet when the library was being built.
Closes #1751
bors [Wed, 1 Jul 2015 17:18:25 +0000 (17:18 +0000)]
Auto merge of #1748 - pwoolcoc:feature/quiet-mode, r=alexcrichton
New version of #738, adds `-q` and `--quiet` to all `cargo` subcommands.
cc @sinistersnare (sorry it took me 1.5 months to circle back around to this)
bors [Wed, 1 Jul 2015 16:59:23 +0000 (16:59 +0000)]
Auto merge of #1775 - alexcrichton:update-cargo-lock, r=alexcrichton
Alex Crichton [Wed, 1 Jul 2015 16:57:57 +0000 (09:57 -0700)]
Update Cargo.lock for updated version
Paul Woolcock [Tue, 21 Oct 2014 18:48:16 +0000 (14:48 -0400)]
Closes #653
Adds a `-q|--quiet` option to all cargo commands that suppresses output from
cargo. In the case of `cargo run`, output from the project executable will
still be shown.
bors [Wed, 1 Jul 2015 00:41:14 +0000 (00:41 +0000)]
Auto merge of #1770 - alexcrichton:shell, r=alexcrichton
Tweaked version of https://github.com/rust-lang/cargo/pull/1673.
Alex Crichton [Tue, 30 Jun 2015 18:15:55 +0000 (11:15 -0700)]
Tweak escaping on Windows shells
Also detect if we're on Windows whether we're an MSYS or cmd.exe shell at
runtime
bors [Mon, 29 Jun 2015 17:24:44 +0000 (17:24 +0000)]
Auto merge of #1760 - jdub:cc-to-gcc, r=alexcrichton
Alex Crichton [Mon, 29 Jun 2015 16:22:49 +0000 (09:22 -0700)]
Don't conditionally compile escaping strategies
Compile them both in and select at runtime.
Alex Crichton [Mon, 29 Jun 2015 16:19:56 +0000 (09:19 -0700)]
Merge branch 'shell-escape' of https://github.com/bluss/cargo into shell
Jeff Waugh [Mon, 29 Jun 2015 06:19:17 +0000 (16:19 +1000)]
Use gcc crate in native build script example
bors [Mon, 29 Jun 2015 05:40:06 +0000 (05:40 +0000)]
Auto merge of #1761 - jdub:1684-target-examples, r=alexcrichton
Fixes rust-lang/cargo#1684
Jeff Waugh [Mon, 29 Jun 2015 01:16:59 +0000 (11:16 +1000)]
Add path and target file dependency examples
Fixes rust-lang/cargo#1684
bors [Sun, 28 Jun 2015 19:56:26 +0000 (19:56 +0000)]
Auto merge of #1765 - gentoo90:bash-comp, r=alexcrichton
gentoo90 [Sun, 28 Jun 2015 10:00:11 +0000 (13:00 +0300)]
Bashcompletion for rustc, search and help commands
bors [Sat, 27 Jun 2015 03:30:06 +0000 (03:30 +0000)]
Auto merge of #1753 - alexcrichton:bump, r=brson
r? @brson
bors [Fri, 26 Jun 2015 23:23:44 +0000 (23:23 +0000)]
Auto merge of #1757 - alexcrichton:fix-msvc-build, r=huonw
This commit updates Cargo's unit tests to pass `make check` entirely on MSVC
targets. Two tests are ignored on MSVC as it requires panicking to be
implemented, which currently isn't, but otherwise Cargo is fully functional.
Alex Crichton [Fri, 26 Jun 2015 22:51:53 +0000 (15:51 -0700)]
Get `make test` working on MSVC
This commit updates Cargo's unit tests to pass `make check` entirely on MSVC
targets. Two tests are ignored on MSVC as it requires panicking to be
implemented, which currently isn't, but otherwise Cargo is fully functional.
bors [Fri, 26 Jun 2015 23:00:05 +0000 (23:00 +0000)]
Auto merge of #1755 - tshepang:email-got-envvar, r=alexcrichton
bors [Fri, 26 Jun 2015 22:32:50 +0000 (22:32 +0000)]
Auto merge of #1756 - tshepang:match-names-below, r=alexcrichton
Tshepang Lekhonkhobe [Fri, 26 Jun 2015 18:47:04 +0000 (20:47 +0200)]
use $EMAIL environment variable as fallback
Tshepang Lekhonkhobe [Fri, 26 Jun 2015 22:07:22 +0000 (00:07 +0200)]
test: names used in .cargo/config are new-foo and new-bar, so match them
bors [Fri, 26 Jun 2015 18:32:35 +0000 (18:32 +0000)]
Auto merge of #1754 - tshepang:patch-1, r=steveklabnik
Tshepang Lekhonkhobe [Fri, 26 Jun 2015 17:30:15 +0000 (19:30 +0200)]
the sentence with poor grammar was not even needed
Alex Crichton [Fri, 26 Jun 2015 15:27:02 +0000 (08:27 -0700)]
Bump version to 0.4.0
bors [Thu, 25 Jun 2015 16:04:52 +0000 (16:04 +0000)]
Auto merge of #1746 - alexcrichton:less-git-operations, r=huonw
This enables libgit2 to not traverse the majority of the tree, saving a lot of
otherwise unnecessary syscalls.
For me this locally reduced the `cargo test` time of winapi-rs from 1.2s to 0.27s
Alex Crichton [Thu, 25 Jun 2015 06:56:59 +0000 (23:56 -0700)]
Filter statuses only by the relevant path
This enables libgit2 to not traverse the majority of the tree, saving a lot of
otherwise unnecessary syscalls.
bors [Wed, 24 Jun 2015 18:22:25 +0000 (18:22 +0000)]
Auto merge of #1742 - dhuseby:updating_installer_to_fix_bitrig, r=alexcrichton
this pulls in the recent installer fix for bitrig.
Dave Huseby [Wed, 24 Jun 2015 11:04:04 +0000 (04:04 -0700)]
updating rust installer dependency to fix bitrig
bors [Wed, 24 Jun 2015 01:12:33 +0000 (01:12 +0000)]
Auto merge of #1724 - alexcrichton:msvc, r=brson
* Download all snapshots and such from static.rust-lang.org (drive-by fix)
* Update dependencies to work and build on MSVC
* ssh2-sys uses `nmake` to build libssh2
* libgit2-sys uses `cmake` to build libgit2
* curl-sys uses `nmake` to build libcurl
* libz-sys uses `nmake` to build zlib
* miniz-sys uses `gcc-rs` to drive `cl.exe` manually
* term updated to pick up windows-specific deps on MSVC
* Updated .travis.install.deps.sh to install MSVC target libraries on Windows,
so the compiler can be used to target MSVC. A 64-bit target is now used by
default as well.
* Updated the configure script and Makefile to set appropriate environment
variables to build Cargo from a MSYS shell with a MSVC target. This is similar
to how Rust bootstraps on MSVC as well.
With this commit Cargo can successfully bootstrap itself on MSVC (use the MSVC
product to build itself again). The tests currently do not pass because
unwinding is not implemented, but soon!
Closes #1725
Alex Crichton [Mon, 15 Jun 2015 05:13:08 +0000 (22:13 -0700)]
Fix build on MSVC
* Download all snapshots and such from static.rust-lang.org (drive-by fix)
* Update dependencies to work and build on MSVC
* ssh2-sys uses `nmake` to build libssh2
* libgit2-sys uses `cmake` to build libgit2
* curl-sys uses `nmake` to build libcurl
* libz-sys uses `nmake` to build zlib
* miniz-sys uses `gcc-rs` to drive `cl.exe` manually
* term updated to pick up windows-specific deps on MSVC
* Updated .travis.install.deps.sh to install MSVC target libraries on Windows,
so the compiler can be used to target MSVC. A 64-bit target is now used by
default as well.
* Updated the configure script and Makefile to set appropriate environment
variables to build Cargo from a MSYS shell with a MSVC target. This is similar
to how Rust bootstraps on MSVC as well.
With this commit Cargo can successfully bootstrap itself on MSVC (use the MSVC
product to build itself again). The tests currently do not pass because
unwinding is not implemented, but soon!
bors [Wed, 24 Jun 2015 00:48:04 +0000 (00:48 +0000)]
Auto merge of #1740 - alexcrichton:update-toml, r=alexcrichton
Closes #1739
Alex Crichton [Wed, 24 Jun 2015 00:46:26 +0000 (17:46 -0700)]
Bump toml to improve errors on enums
Closes #1739
bors [Sun, 21 Jun 2015 18:34:06 +0000 (18:34 +0000)]
Auto merge of #1735 - Byron:term-0.2.9-compatibility, r=alexcrichton
When attempting to compile cargo with the latest `term` crate,
one would face compilation issues due to an attempt to declare
a `Terminal` type without its apparently new associated type
called `Output`.
The fix involves the removal of the `UghWHyIsThisNecessary` type,
and declares the `Terminal` type as
`Terminal<Output=Box<Write + Send>>`.
**Note:** The reason I ran into this was an accidental update to the `Cargo.lock` file, which pulled in the said version of `term`.
bors [Sun, 21 Jun 2015 18:20:50 +0000 (18:20 +0000)]
Auto merge of #1737 - Byron:doc-fix, r=alexcrichton
As stated [in code](https://goo.gl/8xMl4a), benchmarks are to be found
in the 'benches' directory, not in the 'examples' directory.
Sebastian Thiel [Sun, 21 Jun 2015 12:13:07 +0000 (14:13 +0200)]
Added EOF to shell.rs
Sebastian Thiel [Sun, 21 Jun 2015 07:57:49 +0000 (09:57 +0200)]
Correction of benchmarks directory
As stated [in code](https://goo.gl/8xMl4a), benchmarks are to be found
in the 'benches' directory, not in the 'examples' directory.
Sebastian Thiel [Sat, 20 Jun 2015 13:56:03 +0000 (15:56 +0200)]
Compatibility with `term` *0.2.9*
When attempting to compile cargo with the latest `term` crate,
one would face compilation issues due to an attempt to declare
a `Terminal` type without its apparently new associated type
called `Output`.
The fix involves the removal of the `UghWHyIsThisNecessary` type,
and declares the `Terminal` type as
`Terminal<Output=Box<Write + Send>>`.